'''
Created on 2017年5月26日

@author: Administrator
'''
'''
字符串：也可以使用分片的概念
C语言中字符跟字符串是不同的概念（字符串用""表示 字符用''表示）在python中没有这个概念
python中认为字符只是长度为1的字符串当访问一个字符的时候只需要用索引列表的方式来索引字符串即可
字符跟字符串一样，一旦定下来就不可以进行修改，若必须修改 可以采用间接方式

'''

    
str1="i love FishC.com "
print(str1[:6])
str1=str1[:6]+" 插入的字符串 "+str1[6:]
print(str1)
#拼接旧字符串的各个部分得到新的字符串的方式并不是真正意义上改变原始字符串，只是将变量指向
#了新的字符串（旧的字符串一旦失去了变量的引用，就会被python的垃圾回收机制回收掉）
'''
常用方法举例：
      capitalize() :字符串首字符大写
      casefold():  :字符串所有字符改成小写
      center(width) :字符串居中，并使用空格填充至长度width的新字符串
      count(sub,start,end):返回sub在字符串里面出现的次数，start和end 表示参数范围可选
      encode(encoding='xxx',errors='strict') 指定的xxx编码方式进行编码
      endswith(sub,start,end)  检查字符串是否以sub字符串结束，如果是则返回true,否则返回false,start end 参数可选
      find(str,start,end) 检测sub是否在字符串中，如果有则返回 第一次的索引值
      index(sub,start,end) 同find方法 但是 如果sub不在 字符串中则产生一个异常
      详细见P41
      常见方法：
      caseflod() 字符串转小写
      find()
      index()
      !!!!!!'指定字符串'.join('a','b') 以指定字符串为分隔符 向中间拼接'指定字符串'优先使用join进行拼接字符串
      
'''
print(str1.capitalize())
print(str1.casefold())
print(str1.center(30))
if __name__ == '__main__':
    #存在用法问题   // 已修复
    i=str1.count("o",5,30)
    s=str1.endswith("m",3,30) #强识别 不会 去掉空格
    m=str1.find('o')
    #n=str1.index('a')
    print(i)
    print(s)
    print(m) #多个值 则返回第一个索引值
    #print(n) #多个值 则返回第一个索引值
    str2='_'.join(str1)
    print(str2)
    